Electronic devices capable of displaying or producing a hard copy of text and images, such as inkjet and other types of printers, typically include a data channel over which the device is able to receive electronic data representing the text and images. Data received over this data channel is generally assumed to represent information to be displayed or printed.
However, in some situations, it is desirable to receive binary data for purposes other than display or printing. Many electronic devices of this sort contain memory for storing firmware instructions which are executed by a processor to perform the printing and display functions of the device. It would be advantageous if binary data representing new firmware instructions were able to be sent to the device over the existing data channel and programmed into the memory so as to replace some or all of the old firmware instructions, rather than requiring that the memory itself be physically removed from the electronic device and replaced, or that the device incur the cost and complexity of providing a separate channel for receiving new firmware instructions. It would also be advantageous to transmit other types of non-text, non-image binary data over the existing data channel. For example, advertisements or coupons that are to be stored in the electronic device for future periodic display or printing could be transmitted.
Also, in many systems the data channel through which the text and images are transmitted to the electronic device distorts or transforms the images in some manner as an integral part of the transmission process. For example, web browsers and print drivers in a computer or a set-top box such as a WebTV unit often perform such transformations when sending text and images to printers. Usually these distortions or transformations do not perceptibly degrade the quality of the displayed or printed text and images, and serve to speed up or otherwise improve display or printing performance. However, if binary data such as firmware instructions are transmitted over the print data channel instead, these transformations would almost certainly ruin the data, since a change in even one byte of transmitted firmware might prevent the electronic device from working properly, or from even working at all.
Accordingly, it would be highly desirable to have a new and improved system and method that can reliably send binary data over an image data channel.